Skip to content

ci(pr-check): aggregate checks - #45948

Draft
caugner wants to merge 6 commits into
mainfrom
reusable-pr-check-workflow
Draft

caugner wants to merge 6 commits into
mainfrom
reusable-pr-check-workflow

Conversation

@caugner

@caugner caugner commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Update PR checks to run through one PR checks workflow, which runs the reusable checks relevant to the changed files and reports one aggregate result.

  • Centralize concurrency and standardize job names (e.g. filecheck-help, build-help).
  • Start Reviewdog with PR checks and wait for the lint artifact.

Motivation

Require all applicable checks through one aggregate result, while skipping checks unrelated to the changed files.

Additional details

  • Required checks on main become tests and all-checks-passed-or-skipped.
  • Check names change to PR checks / <check> / <job> (e.g. PR checks / content / lint).
  • Reviewdog no longer has a standalone lint workflow to follow, and waiting for the whole aggregate would delay feedback. So it runs on every PR and reports a PR Reviewdog status, even without content changes.

Before merge

  • Confirm tests and all-checks-passed-or-skipped pass on this PR.
  • Replace check-redirects with all-checks-passed-or-skipped in main branch protection, then merge immediately (this PR no longer reports check-redirects).

After merge

  • Update existing PR branches from main if they do not report the aggregate check.
  • Verify the aggregate passes with skipped jobs and fails with failing jobs.
  • Verify Reviewdog runs once per PR checks run and posts lint suggestions before longer checks finish on a content PR.

Related issues and pull requests

@github-actions github-actions Bot added system [PR only] Infrastructure and configuration for the project size/m [PR only] 51-500 LoC changed labels Oct 1, 2026
@caugner caugner closed this Oct 1, 2026
@caugner
caugner force-pushed the reusable-pr-check-workflow branch from 13f5b4c to ac295ae Compare October 1, 2026 20:05
@github-actions github-actions Bot added size/xs [PR only] 0-5 LoC changed and removed size/m [PR only] 51-500 LoC changed labels Oct 1, 2026
@caugner caugner reopened this Oct 1, 2026
@github-actions github-actions Bot added size/m [PR only] 51-500 LoC changed and removed size/xs [PR only] 0-5 LoC changed labels Oct 1, 2026
tieng1344

This comment was marked as spam.

Use job names that describe the CLI help commands being exercised.
@caugner
caugner force-pushed the reusable-pr-check-workflow branch from 5f93861 to 9b39713 Compare October 7, 2026 10:57
@caugner caugner changed the title ci(pr-checks): add aggregate reusable checks ci(pr-check): aggregate checks + report lint feedback early Oct 7, 2026
Dispatch reusable checks through a shared changed-file filter
and move concurrency to the caller.

Report `all-checks-passed-or-skipped` alongside the separate
required `tests` check. Skip the aggregate on cancelled runs,
so superseded runs do not schedule a job only to report the
cancellation. Use consistent lowercase caller and reusable
job names, and point Reviewdog at the aggregate workflow.
Start Reviewdog when PR checks begin and consume lint artifacts
as soon as they appear, while other checks continue running.

Poll every 15 s after a 30 s head start, since the lint job usually
finishes within that window, and give up after 10 minutes with a
warning rather than a failure: a slow runner queue is not a problem
with the PR. Exclude stale artifacts from earlier attempts.
@caugner
caugner force-pushed the reusable-pr-check-workflow branch from 9b39713 to 753ac92 Compare October 7, 2026 13:45
@caugner caugner changed the title ci(pr-check): aggregate checks + report lint feedback early ci(pr-check): aggregate checks Oct 7, 2026
A `workflow_run` `in_progress` event may fire more than once per run, which would start parallel Reviewdog runs polling for the same artifact.
Only `dorny/paths-filter` needs it to list the PR files.
Renaming the job would make Reviewdog silently skip posting lint suggestions.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/m [PR only] 51-500 LoC changed system [PR only] Infrastructure and configuration for the project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants